package org.nlp2rdf.navigator.component.store;

import java.util.List;

import org.nlp2rdf.navigator.client.common.ConceptDTO;
import org.nlp2rdf.navigator.client.common.StoredConceptDTO;
import org.nlp2rdf.navigator.client.common.RelatedConceptsDTO.StrategyDTO;
import org.nlp2rdf.navigator.component.IComponent;
import org.nlp2rdf.navigator.component.exception.ConceptSavingFailedException;

public interface IRelatedConceptStrategy extends IComponent {

	/**
	 * compares the given concept to other concept
	 * 
	 * @param learningResultDTO
	 * @return
	 */
	public List<StrategyDTO> getRelatedConcepts(ConceptDTO learningResultDTO);

	/**
	 * for new concepts
	 * 
	 * @param learnedConcept
	 */
	public void update(StoredConceptDTO learnedConcept) throws ConceptSavingFailedException;

	public void update(List<StoredConceptDTO> learningResultDTO) throws ConceptSavingFailedException;

}
